home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / misc / emu / ATUtilities.lha / ATUtilities / BASIC / INTERRUP.BAS < prev    next >
BASIC Source File  |  2000-09-26  |  1KB  |  49 lines

  1. cls
  2. ?"Interrupt-Einsprung-Lister  Version 1.0   by Alligator Software Inc."
  3. ?"===================================================================="
  4. ?""
  5. ?"Interrupt             Segment       Offset"
  6. ?"------------------------------------------"
  7. for i=0 to 255
  8.  DEF SEG = 0
  9.  ?"INT:";
  10.  CALL TR01(i)
  11.  offs&=peek(i*4)+256*peek((i*4)+1)
  12.  segm&=peek((i*4)+2)+256*peek((i*4)+3)
  13.  if not (segm&=0 or offs&=0) then
  14.    def seg = segm&
  15.    if not (peek(offs&)=207) then
  16.      CALL TR00(hex$(segm&),0)
  17.      CALL TR00(hex$(offs&),1)
  18.    else
  19.      ?"Not installed - OpCode IRET"
  20.    end if
  21.  else
  22.    ?"Not installed - No Segment"
  23.  end if
  24.  if (((i+2) mod 22)=0) then
  25.   ?"--- Fortsetzung mit beliebiger Taste -----"
  26.   while inkey$="":wend
  27.  end if
  28. next
  29. end
  30.  
  31. sub TR00(a$,x) static
  32.  if(len(a$)=1) then a$="000"+a$
  33.  if(len(a$)=2) then a$="00"+a$
  34.  if(len(a$)=3) then a$="0"+a$
  35.  a$=a$+"          "
  36.  if x then ?a$ else ?a$;
  37. end sub
  38.  
  39. sub TR01(x) static
  40.  a$=str$(x)
  41.  b$=hex$(x)
  42.  if(len(a$)=1) then a$="  "+a$
  43.  if(len(a$)=2) then a$=" "+a$
  44.  a$=a$+"   "
  45.  if(len(b$)=1) then b$="0"+b$
  46.  a$=a$+b$+"          "
  47.  ?a$;
  48. end sub
  49.